﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using AccesoDatos.Manejador;
using AccesoDatos.Objetos;
using Conexion;
using System.Windows.Forms;

namespace Autorizacion_facturas_caja
{
    public partial class frmBonos_Lista : Form
    {
        Manejador_Empleado_Captura Mane = new Manejador_Empleado_Captura();
        Manejador_Bonos ManB = new Manejador_Bonos();
        Manejador_Finiquitos ManF = new Manejador_Finiquitos();
        string sucursal, mes, year;
        int id_empleado, id_bono;
        objBono objB = new objBono();

        public frmBonos_Lista()
        {
            InitializeComponent();
            ObtieneDatosCombo();
            ToolTip();
        }
        private void obtieneDatos() 
        {
            mes = cmbMes.Text.Trim();
            year = cmbAnio.Text.Trim();
            sucursal=cmbSucursal.SelectedValue.ToString();
        }
        private void ObtieneDatosCombo()
        {

            //Obtiene los datos de la tabla cat_sucursales al combo de sucursales
            cmbSucursal.DataSource = Mane.ObtieneSucursales();
            cmbSucursal.ValueMember = "SucId";
            cmbSucursal.DisplayMember = "Nombre";

            cmbAnio.DataSource = ManB.ObtieneAnio();
            cmbAnio.DisplayMember = "anio";

            cmbMes.DataSource = ManB.ObtieneMes();
            cmbMes.DisplayMember ="mes"; 
        }

        private void ToolTip()
        {
            ToolTip toolTip1 = new ToolTip();

            toolTip1.ShowAlways = true;
            toolTip1.SetToolTip(this.btnBuscar, "BUSCAR");
        }
        private void btnBuscar_Click(object sender, EventArgs e)
        {
            obtieneDatos();
            if (cmbMes.Text != "" && cmbAnio.Text != "")
            {
                dataGridView1.DataSource = ManB.ObtieneLista_Bono(sucursal, mes, year);
                propiedadesColumnas();
                objB = ManB.ObtieneTotales(sucursal, mes, year);
                lblTotalBono.Text = String.Format(" $ {0:###,##0.00}", objB.TotalBono);
                lblTotalSueldo.Text = String.Format(" $ {0:###,##0.00}", objB.Total_Mensual);
                lblPagar.Text = String.Format(" $ {0:###,##0.00}", objB.Total);
                lblTotalApagar.Text = String.Format(" $ {0:###,##0.00}", objB.Total_pagar);
            }
            else { MessageBox.Show("SELECCIONE MES Y AÑO","ALERTA"); }
        }

        private void propiedadesColumnas() {

            //QUITA LA PRIMERA COLUMNA 
            this.dataGridView1.RowHeadersVisible = false;

            /*Esconde las columnas*/
            this.dataGridView1.Columns["id_empleado"].Visible = false;
            this.dataGridView1.Columns["id_sucursal"].Visible = false;          
            this.dataGridView1.Columns["id_bono"].Visible = false;
            this.dataGridView1.Columns["id_revisado"].Visible = false;
            this.dataGridView1.Columns["mes"].Visible = false;
            this.dataGridView1.Columns["anio"].Visible = false;
            this.dataGridView1.Columns["id_empleado"].Visible = false;
            this.dataGridView1.Columns["id_sucursal"].Visible = false;
            this.dataGridView1.Columns["pagado"].Visible = false;
            this.dataGridView1.Columns["tipo"].Visible = false;
            this.dataGridView1.Columns["nombre_completo"].DisplayIndex = 0;
            this.dataGridView1.Columns["puesto"].DisplayIndex = 1;
            this.dataGridView1.Columns["sueldo_Mensual"].DisplayIndex = 2;
            this.dataGridView1.Columns["bono"].DisplayIndex = 3;
            this.dataGridView1.Columns["Total"].DisplayIndex = 4;
            this.dataGridView1.Columns["aprobado"].DisplayIndex = 5;
            this.dataGridView1.Columns["pagar"].DisplayIndex = 6;
            this.dataGridView1.Columns["cuenta_banco"].DisplayIndex = 7;
            
            this.dataGridView1.Columns["nombre_completo"].HeaderText = "EMPLEADO";
            this.dataGridView1.Columns["puesto"].HeaderText = "ÁREA";
            this.dataGridView1.Columns["aprobado"].HeaderText = "¿APROBADO?";
            this.dataGridView1.Columns["pagar"].HeaderText = "PAGAR";
            this.dataGridView1.Columns["cuenta_banco"].HeaderText = "CUENTA BANAMEX";
            this.dataGridView1.Columns["bono"].HeaderText = "BONO";
            this.dataGridView1.Columns["Total"].HeaderText = "TOTAL MENSUAL";
            this.dataGridView1.Columns["sueldo_Mensual"].HeaderText = "SUELDO MENSUAL";
          
            this.dataGridView1.Columns["bono"].DefaultCellStyle.Format = "c";
            this.dataGridView1.Columns["sueldo_mensual"].DefaultCellStyle.Format = "c";
            this.dataGridView1.Columns["pagar"].DefaultCellStyle.Format = "c";
            this.dataGridView1.Columns["Total"].DefaultCellStyle.Format = "c";
        }

        private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
        {
            if (e.ColumnIndex >= 0 && e.RowIndex >= 0)
            {
                id_empleado = Convert.ToInt32(dataGridView1[1, e.RowIndex].Value);
                id_bono = Convert.ToInt32(dataGridView1[0, e.RowIndex].Value);
                frmBonos_Captura cap = new frmBonos_Captura(id_bono, id_empleado, 1);
                cap.ShowDialog();
               
                dataGridView1.DataSource = ManB.ObtieneLista_Bono(sucursal, mes, year);
                propiedadesColumnas();

            }
        }

    }
}
